題目、輸入輸出格式
Sol
這題是要找B有沒有在A字串中出現,我們就將 A 設為名叫first
的字串陣列,B 為名叫second
的字串陣列,由於不分大小寫,因此我們可以先用tolower函式
將所有字元都換成小寫,接著用strstr(first, second)
函式來找second
有無包含於first
中,若沒有則會回傳NULL
。
Pseudocode
char first[1000];
char second[1000];
cin.getline(first, 1000);
cin.getline(second, 1000);
for i in range 0~strlen(first)
first[i] = tolower(first[i])
for i in range 0~strlen(second)
second[i] = tolower(second[i])
if strstr(first, second) != nullptr
輸出1
else
輸出0
註:其實盡量是不要改輸入的資料內容,不過這邊我為了方便就沒有再另外設一個字元陣列。
題目、輸入輸出格式
Sol.
一開始輸入整數n
代表之後會有多少需判讀的英文詞彙,接下來輸入x
以表示甚麼字要被判斷,D
代表要被判斷的字,還要設一布林值include
,x
當有出現在D
,則改成true。
這邊輸入不能用 cin.getline 而是 cin,因為我們是一個字一個字判斷的。另外,由於我們知道總共會有多少詞彙會被輸入進,因此在輸入進資料的時候,可以不用 while 而是 for。
Pseudocode
bool include = false;
int n = 0;
char x[50];
將輸入進的x每一項都改成小寫。
char D[50];
for i in range 0~n – 1
輸入進D並將其各項都改成小寫
if x與D的字串長度相同 && strstr(x,D) != nullptr
include = true
else
include = false
輸出 include
結語
以上就是一些基本的字串應用啦!如果很不確定裡面陣列中到底存的是甚麼,可以將它 print 出來看,也可以當作 debug 的方法!